<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Promise的链式调用2</title>
</head>
<body>

  <script>
    // 请求一:
    let isResult1 = false
    let isResult2 = false
    $.ajax({
      url: '',
      success: function () {
        console.log('结果1');
        isResult1 = true
        handleResult()
      }
    })

    // 请求二:
    $.ajax({
      url: '',
      success: function () {
        console.log('结果2');
        isResult2 = true
        handleResult()
      }
    })

    function handleResult() {
      if (isResult1 && isResult2) {
        //
      }
    }

    // new Promise((resolve, reject) => {
    //   setTimeout(() => {
    //     resolve('request')
    //   }, 1000)
    // }).then(res => {
    //   console.log(res, '第一层请求')
    //
    //   return new Promise(resolve => {
    //     resolve(res + '__1')
    //   })
    // }).then(res => {
    //   console.log(res, '第二层请求')
    //
    //   return new Promise(resolve => {
    //     resolve(res + '__2')
    //   })
    // }).then(res => {
    //   console.log(res, '第三层请求')
    // })

    //new Promise(resolve => resolve(结果))简写
    // new Promise((resolve, reject) => {
    //   setTimeout(() => {
    //     resolve('request')
    //   }, 1000)
    // }).then(res => {
    //   console.log(res, '第一层请求')
    //
    //   return Promise.resolve(res + '__1')
    // }).then(res => {
    //   console.log(res, '第二层请求')
    //
    //   return Promise.resolve(res + '__2')
    // }).then(res => {
    //   console.log(res, '第三层请求')
    // })

    //省略Promise.resolve()
    // new Promise((resolve, reject) => {
    //   setTimeout(() => {
    //     resolve('request')
    //   }, 1000)
    // }).then(res => {
    //   console.log(res, '第一层请求')
    //
    //   return res + '__1'
    // }).then(res => {
    //   console.log(res, '第二层请求')
    //
    //   return res + '__2'
    // }).then(res => {
    //   console.log(res, '第三层请求')
    // })

    //
    // new Promise((resolve, reject) => {
    //   setTimeout(() => {
    //     resolve('request')
    //   }, 1000)
    // }).then(res => {
    //   console.log(res, '第一层请求')
    //
    //   //return Promise.reject('error message')
    //   throw 'error message'
    // }).then(res => {
    //   console.log(res, '第二层请求')
    //
    //   return Promise.resolve(res + '__2')
    // }).then(res => {
    //   console.log(res, '第三层请求')
    // }).catch(err => {
    //   console.log(err);
    // })
  </script>
</body>
</html>